﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using WCFRequerimientos.Dominio;

namespace WCFRequerimientos
{
    [ServiceContract]
    public interface IServiceRequerimiento
    {

        [OperationContract]
        Int32 RegistrarRequerimiento(GRMaeRequerimiento objRequerimiento,List<GRDetRequerimiento> ListaDetalle);

        [OperationContract]
        List<GRMaeRequerimiento> ConsultarRequerimientosPorAprobar(int iNumReq, int iCodUsuReg, DateTime dtFecIni, DateTime dtFecfin);

        [OperationContract]
        Boolean AprobarRequerimiento(GRMaeRequerimiento objRequerimiento, GRMovRequerimiento objMovRequerimiento);

        [OperationContract]
        List<GRMaeRequerimiento> ListarRequerimientos();

        [OperationContract]
        GRMaeRequerimiento ObtenerRequerimiento(Int32 intCodigoRequerimiento);

        [OperationContract]
        List<GRDetRequerimiento> ObtenerDetalleRequerimiento(Int32 intCodigoRequerimiento);

        [OperationContract]
        List<GRMovRequerimiento> ObtenerMovimientoRequerimiento(Int32 intCodigoRequerimiento);

        [OperationContract]
        List<GREstadoReq> ListarEstados();

        [OperationContract]
        GREstadoReq ObtenerDatosEstado(Int32 intCodigoEstado);

        [OperationContract]
        Boolean AtenderRequerimiento(GRMovRequerimiento objMovRequerimiento);

        [OperationContract]
        List<GRMaeRequerimiento> ConsultarRequerimientoXCriterio(Int32 criterio, String criteriotexto);
    }
}
